home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 28
/
Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso
/
Aminet
/
dev
/
lang
/
nrcobol_1e.lha
/
NRCOBOL1e
/
COBFILES
/
ADVERTS3.COB
< prev
next >
Wrap
Text File
|
1997-06-25
|
24KB
|
535 lines
IDENTIFICATION DIVISION.
PROGRAM-ID. ADVERTS3.
*PROGRAM DISCRIPTION.
* A program to print an income report for an advertising agency.
* The advertisements will be in several different newspapers
* and will be grouped according to the catergory of ad.
* The program uses table lookup filess to translate the codes from
* the input file to report data, printer optioned out!.
*
*AUTHOR. cHArRiOTt.
*INSTALLATION.
*DATE-WRITTEN. 24th AUG 89.
*DATE-COMPILLED.
*SECURITY.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. AMSTRAD 1512.
OBJECT-COMPUTER.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-ADVERT-FILE
ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL
FILE STATUS IS WS-FILE-STATUS.
SELECT IN-NEWSPAPER-NAME
ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS ER-PAPER-CODE
FILE STATUS IS WS-PAPER-FILE-STATUS.
SELECT IN-ADVERT-TYPE
ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS ER-IN-AD-CODE
FILE STATUS IS WS-AD-TYPE-STATUS.
SELECT OUT-INCOME-REPORT
ASSIGN TO PRINTER
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS SEQUENTIAL
FILE STATUS IS WS-PRINT-STATUS.
*
DATA DIVISION.
FILE SECTION.
FD IN-ADVERT-FILE
LABEL RECORD IS STANDARD
VALUE OF FILE-ID IS "ADVERTS.FIL".
01 ER-ADVERT-FILE.
03 ER-NEWSPAPER-CODE PIC X(3).
03 ER-AD-TYPE-CODE PIC 9(3).
03 ER-ACCOUNT-NUMBER PIC 9(6).
03 ER-ACCOUNT-NAME PIC X(20).
03 ER-NUMBER-OF-LINES PIC 99.
03 ER-AD-DURATION PIC 999.
03 ER-STARTING-DATE PIC 9(6).
*
FD IN-NEWSPAPER-NAME
LABEL RECORD IS STANDARD
VALUE OF FILE-ID IS "PAPER.NAM".
01 ER-NEWSPAPER-NAME.
03 ER-PAPER-CODE PIC X(3).
03 ER-PAPER-NAME PIC X(25).
*
FD IN-ADVERT-TYPE
LABEL RECORD IS STANDARD
VALUE OF FILE-ID IS "ADVERT.TYP".
01 ER-ADVERT-TYPE.
03 ER-IN-AD-CODE PIC 9(3).
03 ER-TYPE-OF-AD PIC X(20).
03 ER-PRICE-PER-LINE PIC 9V99.
*
FD OUT-INCOME-REPORT
LABEL RECORD IS OMITTED.
01 PRT-INCOME-REPORT.
03 FILLER PIC A(80).
*
WORKING-STORAGE SECTION.
01 WS-ADVERT-FILE.
03 WS-NEWSPAPER-CODE PIC X(3).
03 WS-AD-TYPE-CODE PIC 9(3).
03 WS-ACCOUNT-NUMBER PIC 9(6).
03 WS-ACCOUNT-NAME PIC X(20).
03 WS-NUMBER-OF-LINES PIC 99.
03 WS-AD-DURATION PIC 999.
03 WS-STARTING-DATE.
05 WS-STARTING-DAY PIC 99.
05 WS-STARTING-MONTH PIC 99.
05 WS-STARTING-YEAR PIC 99.
*
01 WS-NEWSPAPER-NAME.
03 WS-PAPER-CODE PIC X(3).
03 WS-PAPER-NAME PIC X(25).
*
01 WS-ADVERT-TYPE.
03 WS-IN-AD-CODE PIC 9(3).
03 WS-TYPE-OF-AD PIC X(20).
03 WS-PRICE-PER-LINE PIC 9V99.
*
01 WS-REAL-DATE.
03 WS-REAL-YEAR PIC XX.
03 WS-REAL-MONTH PIC XX.
03 WS-REAL-DAY PIC XX.
01 WS-TEMP-DATE.
03 WS-TEMP-DAY PIC XX.
03 FILLER PIC X VALUE "/".
03 WS-TEMP-MONTH PIC XX.
03 FILLER PIC X VALUE "/".
03 WS-TEMP-YEAR PIC XX.
*
01 WS-COUNTERS.
03 WS-PAGE-COUNTER PIC 99.
03 WS-LINE-COUNTER PIC 99.
03 WS-NUMBER-OF-ACCOUNTS PIC 9999.
03 WS-AVG-PRICE-PER-LINE PIC 9999V99.
03 WS-TOTAL-LINES PIC 999999.
03 WS-AVG-NUMBER-OF-LINES PIC 999999.
03 WS-INCOME-EARNED PIC 99999V99.
03 WS-TOTAL-INCOME-EARNED PIC 99999V99.
01 WS-STOP-RUN-FLAG PIC X VALUE " ".
01 WS-END-FILE-FLAG PIC X VALUE " ".
01 WS-ABORT-READ-FLAG PIC X VALUE " ".
01 WS-FILE-STATUS PIC XX VALUE "00".
01 WS-PAPER-FILE-STATUS PIC XX VALUE "00".
01 WS-AD-TYPE-STATUS PIC XX VALUE "00".
01 WS-PRINT-STATUS PIC XX VALUE "00".
01 WS-RESPONCE PIC X.
88 WS-RESPONCE-Q VALUE "Q" "q".
88 WS-RESPONCE-P VALUE "P" "p".
88 WS-RESPONCE-S VALUE "S" "s".
88 WS-RESPONCE-YN VALUE "Y" "N"
"y" "n".
88 WS-RESPONCE-Y VALUE "Y" "y".
88 WS-RESPONCE-N VALUE "N" "n".
*
01 PRINT-PROG-TITLE.
03 WS-PRT-TEMP-DATE PIC X(8).
03 FILLER PIC X(14) VALUE SPACES.
03 FILLER PIC X(36) VALUE
"CLASSIFIED ADVERTISING INCOME REPORT".
03 FILLER PIC X(7) VALUE SPACES.
03 FILLER PIC X(5) VALUE "PAGE ".
03 WS-PRT-PAGE-COUNTER PIC 99.
01 PRINT-RECORD.
03 PRT-PAPER-NAME.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(26) VALUE "NEWSPAPER NAME : ".
05 WS-PRT-PAPER-NAME PIC X(25).
03 PRT-TYPE-OF-AD.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(26) VALUE "TYPE OF ADVERT : ".
05 WS-PRT-TYPE-OF-AD PIC X(20).
03 PRT-ACCOUNT-NUMBER.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(26) VALUE "ACCOUNT NUMBER : ".
05 WS-PRT-ACCOUNT-NUMBER PIC 9(6).
03 PRT-ACCOUNT-NAME.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(26) VALUE "ACCOUNT NAME : ".
05 WS-PRT-ACCOUNT-NAME PIC X(20).
03 PRT-NUMBER-OF-LINES.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(26) VALUE "NUMBER OF LINES : ".
05 WS-PRT-NUMBER-OF-LINES PIC Z9.
03 PRT-AD-DURATION.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(26) VALUE "ADVERT'S DURATION (DAYS): ".
05 WS-PRT-AD-DURATION PIC ZZ9.
03 PRT-PRICE-PER-LINE.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(29) VALUE "PRICE PER LINE : ".
05 WS-PRT-PRICE-PER-LINE PIC $9.99.
03 PRT-INCOME-EARNED.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(26) VALUE "INCOME EARNED : ".
05 WS-PRT-INCOME-EARNED PIC $$$$9.99.
01 PRINT-TOTALS.
03 PRT-NUMBER-OF-ACCOUNTS.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(28) VALUE "NUMBER OF ACCOUNTS : ".
05 WS-PRT-NUMBER-OF-ACCOUNTS PIC ZZZ9.
03 PRT-AVG-NUMBER-OF-LINES.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(26) VALUE "AVERAGE NUMBER OF LINES : ".
05 WS-PRT-AVG-NUMBER-OF-LINES PIC ZZZZZ9.
03 PRT-AVG-PRICE-PER-LINE.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(27) VALUE "AVERAGE PRICE PER LINE : ".
05 WS-PRT-AVG-PRICE-PER-LINE PIC $$$9.99.
03 PRT-TOTAL-INCOME-EARNED.
05 FILLER PIC X(5) VALUE SPACES.
05 FILLER PIC X(26)